interfaces for extensions