Add a lot of new units and refactor code
Merge branch 'release/0.3.0' into develop