added more explanation to the tricky bit