don't assume what self is