Added the ability to do flexible validation of arguments
gitignore