make some improvements