Cleaned up the sloppyness, also enhanced structure