nicer looking character input tool with validation