Please make all pull request with 1 commit that can be easily rebased onto master. Please add tests for new functions.