add dynamic operation