refactor TextClip