made a lot of changes to the design