more arg tweaks, better logic