Considerable changes.

Adding multiple things, to consider or to implement in the future, like
the CIRCUIT_METHOD.