support cloning objects