design and minor changes