allow API level selection from the factory