setup and begin basic structure