Fixed many details and more PEP8 style