why the self ?