Added more validation, error output, and autosearch