throw exceptions for unimplemented methods