Newest version. Total Rebuild of the code. Better testing.