fix bugs and change alias to alias_method