separating c code + adding gmp for big numbers