[sys][godzilla-sized-commit] Breaking up functionality into seperate files