clone and extend methods to core