public boolean remove(int data){
		Node returnNode = null;

		if(head.data == data){
			returnNode = head;
			if(tail == head){
				head = null;
				tail = null;
			}else		
				head = head.next;
		}else{
			Node prev = head;
			Node n = head.next;
			while(n != null){
				if(n.data == data){
					returnNode = n;
					if(tail == returnNode){
						tail = prev;
						prev.next = null;
					}else{
						prev.next = n.next;
					}
				}
				prev = n;
				n = n.next;
			}
		}
		return (returnNode != null)?true:false;
	}