added reversible code ports