Initial implementation for lexical by michael with bugs