exact method decomposed