for CS250 software project