setup and initial layout