Credit Mithru Vigneshwara (@mithru) and fix pep8 style issues.