future proofing algorithms