declared classes that derives from surface
reimplementing functions and methods