removed dependency on NLog and simplified constructors