user features and unit tests
Merge branch 'develop'