initial commit
tweaks
tests
refactor routes
refactor