added logger with AOP functionality and option ending application
refactored towards simpler design. working, no UTs