Author: Andrew Gonzalez & Wildrido V. Villacorta