added some clone methods found on stack overflow to tinker witih.