Replace lexer with cleaner one
Structure definitions, type cleanup