working but passing arguments should be fixed