better protocols