[refactor] early refactor there decouples the diffrent algoritmes