use url encoding rather than hand encoding