Mostly just added accurate frame timing