why not use `alias_method_chain` in here?