@Override
	public boolean remove(T el) {
		if(head == null)
			return false;
		
		Element<T> current = head;
		while(current != null) {
			if(current.value.equals(el)) {

				Element<T> prev = current.prev;
				Element<T> next = current.next;
				
				if(prev != null) {
					prev.next = next;
				}
				
				if(next != null) {
					next.prev = prev;
				}
				
				if(current == head) {
					head = next;
				}
				
				if(current == tail) {
					tail = prev;
				}
					
				return true;
			}
			current = current.next;
		}
		return false;
	}