added Robert algorithm