- print help message if no arguments are given
- add some javadocs
- log warnings if multiple streams want to use stdout
- log errors and do not throw exceptions