separate protocols into namespaces