Still thinking about the way to implement task 2