fixed issue #28 in v3.3.1
fixed issue #30 in v3.3.1
fixed issue #29 #31 in v3.3.1
fixed issue #32 in v3.3.1