using shared pointers for engravings