create new fields on the fly when setting them