Remove most allocation + sep of concerns
Remove all allocation up to the parser
move closure to static function
Add semicolon
update README