fix #25, fix #23