removed guava, added own implemenation
refactoring and logging
more logging and documentation
differ between start and end is so complicated ...
moved code
moved more code