Refactor code, group up to subsystems to be more easily understood