Refactor home page to dynamically generate