some reshuffling
intermediate