clean up some TODO and improve coverage