initial algorithm