purification etc
Merge branch 'new-arch' of https://github.com/subjectsplus/SubjectsPlus into new-arch