Start to implement the expected behaviour of the main functions