Use context instead of self