extract script to separate file
update todo