correctly rejects some operations based on type
updated gitignore