changes to the class implementation