add: cfieldset refacotring