This should be a class!