reworked text widget