restructured for even easier reading