Initial commit. Includes a lot of work
Now it builds