improve argument splitting