In the future, we can abstract all this in a common function to use on all the tasks