Headers are more-a-less done, some corrections are needed, but the work should happen on the cpp files