Update do_action function

[bug] update it to check if args of function == the do_action args add
or continue the loop and skip