lots of necessary changes, I think I fixed the timer issue on the backend and frontend (getting stuck at 0).