work on main, compile errors