don't assume numeric ids