added some new algorithms