1. A method for use in replication comprising: dynamically switching between asynchronous replication and synchronous replication during continuous replication of intercepted IO being written in the production environment while the production environment is active; without stopping the continuous replication of IO from the production environment and the replication environment in a manner that is transparent to a user of the production environment; wherein switching from asynchronous replication to synchronous replication reduces IO transfer lag between the production environment and the replication environment in a manner transparent to a user until a synchronous replication policy has been reached; and wherein switching from synchronous replication policy to asynchronous replication policy enables IO transfer lag between the production environment and the replication environment; wherein switching from synchronous to asynchronous replication includes: determining an IO transfer lag between the production environment and the replication environment; and acknowledging all IO transmitted between the production site and the replication site within the lag; determining a lag decrement for decreasing IO transfer lag between the production environment and the replication environment; reducing the IO transfer lag by the lag decrement; and updating the current IO transfer lag based on acknowledgements received from the replication site until the reduced lag has been reached; and continuing to reduce the lag by continuing to implement the reduction method, until a synchronous replication policy has been reached; wherein the lag is an amount of data.