Now implements clone able