UPDATE:Change databse structure and add cache settings.