some improvements of design