initial furnace implementation