added ghost factory