initial algorithms