data structure transformations