add query string parsing