refactored out common code
fixed up "usage" strings