basic protocol template