added selection operation