move advancement calculations to non-blocking