complete rewrite of how args are accepted on how the actions are performed