required option, better error handling