improve multicommand parsing; add tests