@Override
	public void add(T element) {	// sorted insert
		LLNode<T> newNode = new LLNode<T>(element);
		current = head;
		while (current!=null){
			if (current.compareTo(newNode)>0){
				if (current==head){					//add to front
					newNode.setLink(head);
					head=newNode;
					break;
				} else {							//add in middle
					previous.setLink(newNode);
					newNode.setLink(current);
					break;
				}
			} else if (current.getLink()==null) {	//add to end
					current.setLink(newNode);
					current=current.getLink();
			}
			previous=current;
			current=current.getLink();
		}
		if (head==null){ 			//list is empty
			head = newNode;
		}
		length+=1;
	}