Refactoring and API reimplementation, first step : base concept providing