the main class