check for empty string

treats empty strings in ids the same as null or undefined, WIP needs tests