some improvements ;