introduce exception handling, queryparamdecoder