basic code for interaction.