Made to conform to PEP8, still need todo the TODO