minor changes; many todos