decoupled forward and inverse methods