add initial lexer impl with test data