text objects utility almost complete