add requirements
update todo