init setup and design