defined interfaces for required classes