do some improvements