#41, closes #17. Added use case for 'sift' instead of 'exchange' when rearranging. Was surprisingly simple