adding interaction, fixing events, implementing rules