add unit tests and bugfixing
Merge branch 'develop'