modularize project
update exercise