Added optional protocols feature.