deep copy works... finally!