improve argument support