updated err handling and usage msgs