Merge pull request #33 from brainsail/develop

add and update features with tests, refactor needed, and the UI