fixed potential modification of callers data in constructor