main class setup