powerful decorator