Object-oriented programming is a programming paradigm that provides a means of structuring programs so that __________________________________ are bundled into individual objects.