optimize the interaction