self -> alternate