object decorator