Unified add and modify