complete task #21: add saving to database
complete task #22: add properties file with data source