does calling setTimeout() reset/clear any previous timeouts? cause I'm seeing strange behaviour