Extracted out apply interaction sub functions