Refactored code with improved test coverage.
Ignore time sensitive test
Merge branch 'master' into latest
Merge branch 'latest'