modularized DocCoder