text processing lib