Reorganize code and docs