add functions now returns a pointer to the new data