interfaces for core classes