Commented and rearranged