fix
fix substituteloop, add insertdata
add