Almost done, except edit and some details