add protocol to save the info