self not defined