improve main