First commit. Lots of work ahead. Code to be revised, maybe not everything is open source.