added help strings, and error handling