add unimplemented methods
added new function