unifing the MemwriteEngine and MemwriteEngineV interfaces