add assign operation functions.