updating protocal to change how errors work