first rough version of the module