Beginnings of an engine

Doesn't compile at all yet