Trying out a new structure for everything.
(this is being built paring a java implementation and is supposed
to be only for testing until it becomes stable).