simplified decorate logic