custom parser more powerfull