Code rework and documentation finished, it's a module