merge pull request #29 into this branch