decorator parameterized