Initial commit of code, plenty to do