add new algorithms