I always forget about empty(), but it looks like that will also return true for '0' :(