make query objects immutable