use copy instead of synchronize