improve text widget