Add monolog, abstraction and fix checkstyle