this is where i stop, now i need to implement mpi