interfaces for all important classes introduced