added copy to self