added copy and preloading