some code cleanup, added test example, added logger copy ctors and op =