implemented basic pre-copy structure