Added Generic Protocol - needs to be fixed