Added a bunch of stuff. Updated to a time-delta instead of realtime with threads.
Why did I want to do threads? It was a terrible idea.