Add syntax checking
Add benchmark