added define_method