Split algorithms into separate files