finished ugly engine implementation: not enough engine tests