refactores systems into separate files