added usage
added static factory method
changed to STDOUT outputter for sake of demo