new design and corrections