M: Library: add 'copy' method. +test
M: Some changes.