Sequential algorithms