update protocol method