implemented text changes log