fix #36
refactor