all same case
moved things around
handler as top level interface
moved things around
moved exception handler to upper level
added docs and moved logger out of the way
added javadoc