code refactored by adding alias_method chain