protocol scripts