re-organized text utils