Also, don't use System.exit. Just throw a RuntimeException or something