updated for allowUnknown* stuff