implement numeric parsing