refactoring roulette