generates algorithms