interface done. on to algorithm.