bound + ascii validation, optimize