rework w1 a bit