added esoframe.factory