#15 some improvements