Don't use anything that you don't understand
Allow any number of arguments
Improve feedback messages
Minor refactoring