add instance methods and class eval