refactor QueryString to propose a cleaner API