implementing missing_method and define_method