good use of class << self tip