some improvements, #16