Revised version with additional explanation