more efficient selectByValues