Use same protocol-agnostic // approach