Big code cleanup and finaly real object orientation
Updated README and fixed a typo