shuffle methods around to bring some structure