working on module architeture