Author: Sirivardhana, Ec. Pi.