Added comments for me to make sense of stuff