Needs to be a class?