Better use of scala semantics
Better name for alternative protocol