enhanced arguments parsing