Main class, and some basic structure