partially fixed issue #3 and #6