provisions for custom copy construction