renamed the Lexer class family
added signatures for tests
moved functional tests to a different module
removed old test