APCS Final Project for Scott Ma, David Liang