Cleaner clone() implementation