add login protocol & model