added base interface with common interface methods