Changed type of generic protocol to "generic"