clone method is extracted to Utils file