compact for naive and shared
all compacts working