add dangle, fix bugs