refactor request parameter parsing