problem while collecting subclasses
logic repackaged