new api for adding fields