added commentFactory to allow custom a class