fixed issue #30
fixed issue #29
fixed issue #29
fixed issues #30 & #31
fixed issue #32
fixed issue #32
fixed issue #33