#3: Defining the core requirements - Low Level Design