working argument passing