Completed, but not tested the TextEngine