made a lot of changes to design