cs4604-project