new libraries
fixed shallow copy bug