WIP..... working extend preserving constructor
Squash, preserve constructor