kwarg-based parser