Index: src/ch/MainWnd.cpp
===================================================================
diff -u -r9479911a096555a7504c5c8a8eaee83ecb63440c -rd32a79f0e9220bad2c6eeb5e8a986228b6e832fb
--- src/ch/MainWnd.cpp	(.../MainWnd.cpp)	(revision 9479911a096555a7504c5c8a8eaee83ecb63440c)
+++ src/ch/MainWnd.cpp	(.../MainWnd.cpp)	(revision d32a79f0e9220bad2c6eeb5e8a986228b6e832fb)
@@ -41,8 +41,7 @@
 #include "../libchcore/TCoreException.h"
 #include "../libicpf/exception.h"
 #include "../libchcore/TTaskManagerStatsSnapshot.h"
-#include "../libchcore/TSQLiteSerializer.h"
-#include "../libchcore/TTaskManagerSchema.h"
+#include "../libchcore/TSQLiteSerializerFactory.h"
 
 #ifdef _DEBUG
 #define new DEBUG_NEW
@@ -288,15 +287,13 @@
 
 void CMainWnd::LoadTaskManager()
 {
+	using namespace chcore;
+
 	CString strTasksDir = GetTasksDirectory();
-	CString strTMPath = strTasksDir + _T("tasks.sqlite");
+	TSQLiteSerializerFactoryPtr spSerializerFactory(new TSQLiteSerializerFactory(PathFromString(strTasksDir)));
 
-	chcore::TSQLiteSerializerPtr spSerializer(new chcore::TSQLiteSerializer(
-		chcore::PathFromString(strTMPath),
-		chcore::TTaskManagerSchemaPtr(new chcore::TTaskManagerSchema)));
+	m_spTasks.reset(new chcore::TTaskManager(spSerializerFactory, m_pFeedbackFactory));
 
-	m_spTasks.reset(new chcore::TTaskManager(spSerializer, m_pFeedbackFactory));
-
 	// load last state
 	LOG_INFO(_T("Loading existing tasks..."));