add fetch dynamic content logic, need refactoring