added class factory to recorder library