Initial commit of largely working code... Not production ready at all.