Merge branch 'feature/swap', closes #22