Internal done and tested. Rest should be easy.