I am trying to insert a node into list of ordered values let's say 1, 2,3

I can add the node when list is empty but I can't figured what to do add more nodes in list

Code:
 #include <stdio.h>

#include <stdlib.h>


struct node
{
	int data;
	struct node* next;
};	


void ADD ( struct node **Head, int value)
{
	
	
	if( *Head == NULL)
	{
		struct node *temp = malloc(sizeof(struct node));
	
		if(temp != NULL )       
		{ 
			temp -> data = value;
			temp -> next = NULL;
			*Head = temp;
		}	
	}
	
	else
	{
		
	}
}


int main ()
{
	struct node *head = NULL;
	
	ADD ( &head, 1);
	
	ADD ( &head, 2);
		
	return 0;
}