done a bit of work on main