add a class to parse complex params. issue #377