Hi elad, thanks for all your help, I figured it out in the end, although I didnt fully understaand your implementation (has lots of variables and confused me lol) it did help me to understand why mine was going wrong which points back to your first post, I was accidently pointing the pHoliday->pCustomer_lst to pCustomer and thus overighting it and all of its pointers when I did the add_Customer_lst() function, i have now manually specified what data is to be cloned into the pholiday_pcustomer_lst as such it works now fully.

Thanks again for all your help.