Clean up and log catched Exception
Clean up for easier high level reading
Add integration tests