shuffle strategy!
merge io into stat and avoid class states to better isolate