fixed argument handling for incorrect number of arguments
- added a test for all possible cases