Adjusted upfront api a bit, def_using no longer handles the namespace case, a sepearate function: def_using_namespace now does. Mostly fixes to the seralization as I generate more cases to find the bugs.