Separating modules, preparing for large refactor