more simplification since table always nonnull
save space