value to join on must be a primitive