all sorts of reformatting, refactoring, + new dynamic url construction