made API less fragile