only support instance methods