use arguments to run sub