adding clone and serialize