Split into smaller files, reviewed whole program for 6.0