algorithmic pattern