refactor again. getting ready to handle initial load and reloads.