fix #23, fix #22