use struct package