self is undefined here