sprint2

complete cleanup (redesign & refactoring)
Merge branch 'develop'