add timer, need fixing invalidating