tab inference and parts