add parameter type for top level function