fixed issue #7, #8, #9, #10, #11, #12, #13