Object-oriented version, still no draw checks and no advanced features