replaced boost split by spirit::qi parser in places