added auto Type preservation

Still need to add list Type