aaaand the massive refactor begins, added siteData file to externalize stuff, would've preferred a db layer but we'll make do with this