update TODO and requirements