update with theoretical design