v0.1.4 with better sanity checks on optional args