Implement operator overloading and improve GMP

PR for RFC.
Work in progress