push while i switch systems