design changes and bug fixes