see the question in the backlog regarding what we wanted to do about all the different algorithms and a way to simplify.