Add Text tools + Refactoring