This is the main class