simplified for single df output