fix truncate
comment handling
better tokenizer
better regex with negative lookahead
formatting