don't use self. in init