some design and fixes