fixes for input handling if anything is empty.

we should probably store everything as a string and convert it only if we need to.