Basically fix a bunch of stuff that came up in production
- will move new one to replace old one in next commit - basically the same code but works - args now support arg_data_t as a default - arg_data_t is now much smarter