First implementation
Merge