fix singly callback