documentation and make file reorganize