Initial commit. Compiles but untested. Responses from the engine need to be parsed and checked for errors