copyrights revision 7f9e2fff07b9c17e0d7a0ea7abc9304ce9d01b61