Refactor contrib

At first, I wanted to separate docs too, but it seems difficult.