separate forward and reverse maps