add document opening infrastructure skeleton