SOP : All the code along with documentation can be found here.