updated synthesis