implementation de assign