cf code remained and handle modified