Updated complex argument parser