two step parameter parsing and various syntactic sugar tweaks