Author: Karthikeyan C Kasiviswanathan, Yuvaraj Megavarnadu