setting up components