Added Robert G's interact function.