add argument number checking
add arguments and usage #1