better args handling