used learnings from the argtest experiments to bind events and reduce repetition of code. flip function now needs to parcelled out elsewhere