I wrote engineUpdate, although it's not tested and is quite likely flawed. But it's a start