working on decorating logic