Add Duality

Closes #39