added token enum class, created lexer class