adding some improvements