self is optional - it doesn't change the functionality, but you can call any instance method of the class without explicitly using self