fix number parsing. can now parse negative and floating pt nums