cleaned up and fleshed out commenting