This seems like it's duplicates across `select!` and and `order!`, is there anyway to reduce that duplications