typeSelection must be optional