Updates, more pythonic, almost there