rewrite the args pass
not working well version