various improvement (see HISTORY)