use is_positive_integer rather than looks_like_number for testing if things look like they could be entity IDs