protocol: setup type correctly