fix run loop to track times it's called back