refactored commandline parameter parsing