What a contribution!

Without a documentation of the interfaces nobody (even the one knowing about hill climbing, ...) will be able to try/use your code...

Don't throw your genius this way on us

mercuryus