dont store variables in state
optimze timeout for animation delay