bit of refactoring (destination in tuple) and fixed the bug in SJE and SJM