add KVO contentOffset