way to implement the algo.
TODO....do this asap.