text editor mostly complete