again use class << self instead of self.