Added comments and broke some stuff up