vjr refactoring of source code layout, incomplete