adding decorator support