function myDeepClone(o){
const result = new (Object.getPrototypeOf(o)).constructor
for(k in o){
if(typeof o[k] === 'object' && o[k] !== null){
result[k] = myDeepClone(o[k])
}else{
result[k] = o[k]
}
}
return result
}