Classes, Functions, and Object-oriented Programming