added a lot of the design features