changed to inherit from object