copyrights revision 6ceb29d4d4d6f639e50317fa6015806e80aa422a