Here's one i made. I believe other programs uses the same algoritm as i do.