Draft 2 of data structure manipulation