#6 some improvements