implementing new engine
it looks like it is working