build data struc