more elegant, but still have 2 samples WA, to debug