implemente text editor