elaborated the setup