Hi why do you use the method **.upper()**? its use to uppercase string ..

you can read about it here

http://www.tutorialspoint.com/python/string_upper.htm

the lesson aske you to

1 First, **def** a function called **cube** that takes an **argument** called **number**. Don't forget the parentheses and the colon!

2 **Make that function return the cube** of that **number (i.e. that number multiplied by itself and multiplied by itself once again)**

```
def cube(number):
return number ** 3
```

or

```
def cube(number):
return number * number * number
```

then

3 Define a second function called **by_three** that takes an argument called **number**.

`def by_three(number):`

4 **if** that number **is divisible by 3, by_three** should call **cube(number)** and return its result. **Otherwise**, by_three should **return False**.

```
def by_three(number):
if number % 3 == 0 :
return cube(number)
else:
return False
```