merged the pull request 31 and tested