refactor param parser ...