found some off by 1 stuff in lexer