import local changes from gelbbaer.
fix argument parsing to not crash when arguments are missing.
upgrade submodules to current version