Uses push/pop to make program more readable.