cleaning up logic to use events more and better event event timing. also adding the new pause events