implementing gmp module
updated document