this class can probably be completely reverted?