# Most efficient way of implementing groth16 verification from scratch

I'm trying to implement a groth16 verification from scratch without using any libraries. I am already able to generate the proof and the verification key following this blog (http://www.zeroknowledgeblog.com/index.php/groth16).

I now need to implement the proof verifier, but am struggling to understand how do I go from the curve's alpha, delta, gamma, gamma_abc and my proof (a, b, c, and the inputs) to verifying the groth16 equality in actual code:

correct me if the question is too generic