try to simulate more precisely for offline(still have timing issues)
Merge branch 'master' into private