Initial commit of project structure, pre-code
WIP - doesn't support sharing instances yet - rest of code looks good

tests also needed