added uniform copying