decorator documentation