init setup work, incomplete