Fix filename in usage output
Make mp test program work with negative ids
Improved mp assembly algorithm
Refactoring mp code