pmj2: Commits all changes before it could work properly

TODO:
1. clean up the code
2. move the common file node operations code to seperate file
3. clean up all unusefull .o files.