refactor logging classes