CS300 Term Project