Refactoring of all; added DataSourceFactory; changed DB