more adapter checking before instantiating