replaced bad prototype method <_<