We have splitted up the create/update code in two distinct part as prepartion for the