default implementation for interface methods