make select much more useful

I can easily imagine scenarios where people would want to query on more general things than just strings.