copyrights revision 15ae68f3db8261770fc33b8e0f83f5d8c7021e84