use self explicitly