design and fixes