some improvements :)