adding new protocol B