Start of the implementation