Deterministic alternative choice

@erwaller could you look this over?
I'm happy to call it 2.0, the algorithm change that this PR is making is far more backwards compatibility breaking than killing whiplash