Added clone function which clones struct's and also divide by zero checking