add new scratch protocal