add docs to describe purpose of each module