Trying to implement roll/keep and getting into a weird spot