moved around a lot of code, but i think it makes more sense now