Trying to create an OOP using class to compare two words and return True if they're the same and false if not. Words can be anagrams/upper/lower case versions of each other and still be true (W1 = sTop, W2 = Pots, W1 == W2 result: True) I am new to coding, so I am struggling in the attribute part of this code. How do I get it to read the word as the same under these conditions.

I have gone through this site as well as others to find the structure and overall idea behind OOP and have pieced together what I think to be correct, however, I know it's not complete and will kick errors when I run it. I've tried calling the methods under str using my classes grade scope and it failed which I expected. Any help in explaining/writing this problem would be great. Please excuse my novice ability in coding. 

class Word:

```
def _init_(self, word):
    self.word = word

def _str_(self):
    w1 == w2
    return self.lower(word)

Expected outcomes:

Examples
word1 = Word("post")
word2 = Word("stop")
word1 == word2

Result: True
word1 = Word("")
word2 = Word("")
word1 == word2

Result: True
word1 = Word("aBlE")
str(word1)

Result: able
word1 = Word("able")
word2 = Word("baker")
word1 == word2

Result: False
word1 = Word("Hi there! :-)")
word2 = Word("Hit here! :-)")
word1 == word2

Result: True

```