use self as a keyword + put protected in the class private scope