start structuring the code