add necessary unimplemented function