First commit of the new version. Add basic files, M3 and utils. Adding tests.