copyrights revision 56874aef380a64a2c183b7c282c3e7a361d67fa1