replaced scanner with buffered reader, added basic error handling and menu recursion on event of error