added first code for protocol class