working on argument passing