APM466 assignment 2 2023 | Luis Seco APM466 assignment 2 2023 | Luis Seco