fix #1, refactor soon