Initial commit as an engine, still not usable.