[Upg] use self instead of static (scope)