some improvements etc..