added protocols field to types