This should be a class.