First commit

First upload of work in progress. More to come soon.