derives output now distinguishes between WF and DM