allowing generics for text box