minor code improvement
in engine, fix equality to be recursive