Better logic for  withArguments