new structure
generic url parse and creation + tests:
docs
big refactor, need water just looking at how dry this is now
fmt