implemented TextObj