lot of design improvements