This commit has some bugs on saving data to DB, but I have to uploaded