enforce parameter type