refactor: use fn-params module