use proper percent encoding