made into a class