Initial commit. Need to get better understanding on the algorithm.