implemented atomic_xchg, atomic_addi