worked on main class a bit