recursive deserialize for params.. not great