added doc factory