_CSC3496 by John Paul Marcelino
_