halfway done with main