supports re-write base engine