restructured output, added --recursive option, added test for Args