works without a webserver, but it's janky.
Clean-up to simplify development.