split parse spec and add new cases