added new algorithms