made a bunch of design changes