improved initializer resolver