**I need to return a Boolean** if moving values across the list is possible. '.' are empty spots where strings could move to. For the 1st func, how would I shift both identical values left and right? I'm not sure how to define the left and right variables and was wondering if I need the pop.() to delete the spot I'm moving the variables to.

```
area1 = [['.', '.', '.', 'e'], 
         ['A', 'A', '.', 'e'], 
         ['.', 'X', '.', 'e'], 
         ['.', 'X', 'Y', 'Y'], 
         ['.', '.', 'Z', 'Z']]

def shift_horizontal(value, direction, area):
    for i in range(len(area)-1):
        for j in range(len(row)-1):
            if right and value[i] == '.'[i+1]: # Will shift right if value next is '.'
                return True
            elif left and value[i] == '.'[i-1]: # Will shift left if value next is '.'
                return True
            else:
                return False
shift_horizontal('A', right, area1)

```

How the list should look like after(I don't actually need to return the list, just a visual reference):

```
area1 = [['.', '.', '.', 'e'], 
         ['.', 'A', 'A', 'e'], 
         ['.', 'X', '.', 'e'], 
         ['.', 'X', 'Y', 'Y'], 
         ['.', '.', 'Z', 'Z']]

```

I plan to write a 2nd function which will only moves values up and down the list. What would I need to change in the function above to make it only move like variables up and down within the list? Any help/advice appreciated. I'm trying to keep it simple with only loops and Booleans with few built in functions as tedious as it sounds.