add prime_field and start implementation