used sync and compact, local test is fast