Switchable algorithms