added exchange interaction