started adopting exceptions on main