Algorithm structure