Returns errors instead of exiting and takes an option parameter