base structure stuff.
initial class structure.
Merge branch 'develop'