- refactor unit functions for better naming - separate unitary functions for each package - reprogram the reduce steps to take new statistics - extract number of em iterations