The reason you now need the wait to 'fix' it is because you added waits in the functions, that's why I mentioned I try to avoid this where possible because it creates bugs. I like to stick with one simple event if possible. The test button isn't working because it's a trigger once event (the button press) and you can't put an every X seconds as a sub event of this. You'll need to toggle a variable on button press so it runs all the time like you did with the start variable.