clone returning data to avoid wild references