algorithm objects