type decorator