1. Use of a virtual console based on stdin/stdout if System.console is not available. 2. Allows to give additionnal parameters through command line.