Will write up a more detailed version of what is required later