Added forward closure and reverse. Reverse is not 100% compliant with spec, notes in def