make generic portal_type, and add or create