------------------- - better idea of what it wants to be - cleaner design & refactoring - replaces function-level logger with session-level, module-level, function-level loggers - adds customizable name of root log node - refactored tests by introducing some helper functions