protocol
protocol optimizations