return instead of System.exit