testing different algorithms