Bunch of design changes