adding query string handling

and adding unique types for each query string param