add unimplemented functions