non-deprecated version of our cs176b project