seprate class for subclass