use self instead of this to get correct value