divided into files by role

dear god i can read this shit now