refactor algorithm project
refactor the entire project