restructuring to all for datastructures