Revert "move to subclasses"

This reverts commit cc2a422f84b3bbe483dc357e8d230dfa44072395.