added 3 more algorithms, still needs timing tests