add types to clone method