fix #15
refact some