assume that uninit contents are padded at sizeof(long) is meaningless