added timer based FPS limiter