loggers and better exception handling