update algorithms
add solutions