Checked with pylint, extracted some garbage from the module, added more documentation, finished with tests