Erase dependencies and fix build for linux.
Add missing files.
Modernize some c++ code.