adjusting modules to export classes rather than register themself

big refactor