copyrights revision 3f616e6f846be57b1717c6beaba0f74de9d5a7c6