product instance methods