codes for data-strcture