Change public API back to throwing Exception