organizing app structure and adding persistence with localStorage