First functional version.

An initial version of the SOM has been implemented but there's still
a lot of work to do. Working on the documentation for the moment,
sorry for the lack of information.