collection and optional field support