change to twisted callback