improved return flow