added define_method call into method_missing