add document data structure, re-write lda framework