The basic structure and utility is set up