Updated by Devesh Nijhawan (191279) and Rishabh Bharota (191237) as a project in their B.Tech. course