default factory now includes void elements