set up a basic interaction loop