first attempt at an input class;  it's lame to convert text to string to text but lets get it working before we try to speed it up
add a few test cases