fix problems in semantic mode
add .gitignore