rework s2w and dt2w, now we're getting somewhere