Initial implementation of the different steps