added more algorithms