setting up basic structure