some changes
some improvements