added interact method