Major fixes and design.