added selection algorithms