made args required and added usage banner and arg check