Alt choices

@erwaller could you look this over?
We should have tests for the algorithm specifically