cleaned up text update listener