Initial commit

Probably need to tidy up a bit before ready for human consumption