btw in my comment the line "extend self" is redundant and not needed