lots of updates
make distance between 0-1