source cleanup
fixed #31
fixed #32
fixed #33