refactor method_missing: